function patterns = generatePatterns( N )
%GENERATEPATTERNS 
%   Esta funcion genera un vector de longitud 2^N con todos los patrones 
%   que se pueden formar con N bits.
%   Ejemplo:
%           N = 3;
%           patterns = [000, 001, 010, 011, 100, 101, 110, 111]
%   Nota: A cada pattern se le agrega un -1 adelante por el valor de umbral
global G FALSE;

D = 0:power(2, N) - 1;
patterns = dec2bin(D) - '0';
for i = 1:N*length(D)
    if patterns(i) == 0 && FALSE == -1
        patterns(i) = -1;
    end
end

if G == 4
    ePattern = ones(2^N-1,N)*(-1);
    patterns = [patterns; ePattern];
end


%
% x = [0; 1];
% for i = 2:n,
%  s = size(x,1);
%  x = [[x zeros(s,1)]; [x ones(s,1)]];
% end
%

end
